package com.lufei.message_system.Service;

import com.lufei.message_system.Data.PageResult;
import com.lufei.message_system.Data.Result;
import com.lufei.message_system.Data.UserVD.*;

import java.util.List;

public interface UserService {
    // 创建用户
    Result<UserVO> createUser(UserCreateDTO userDTO);

    // 根据用户ID获取用户
    Result<UserVO> getUser(String userId);

    // 根据用户ID更新用户
    Result<UserVO> updateUser(String userId, UserUpdateDTO userDTO);

    // 根据用户ID删除用户
    Result deleteUser(String userId);

    // 用户登录验证
    Result<UserVO> checklogin(UserLoginDTO loginDTO);

    // 根据分页参数和查询条件，查询用户列表，并返回分页结果
    Result<PageResult<UserVO>> listUsers(Integer page, Integer size, UserQueryDTO queryDTO);

    // 根据教师ID查询学生列表（带分页）
    Result<PageResult<UserVO>> listUsersByTeacherId(String userId, Integer page, Integer size);

    // 重置密码
    Result resetPassword(String userId, PasswordResetDTO resetDTO);
}